#!/bin/bash
# GWAC瞬变源样本集下载程序启动脚本

# 设置工作目录
cd "$(dirname "$0")"

# 检查Python环境
if ! command -v python3 &> /dev/null; then
    echo "错误: 未找到Python3，请先安装Python3"
    exit 1
fi

# 检查依赖
if [ ! -f "requirements.txt" ]; then
    echo "错误: 未找到requirements.txt文件"
    exit 1
fi

# 安装依赖（如果需要）
echo "检查Python依赖..."
pip3 install -r requirements.txt

# 解析命令行参数
MODE="once"
INTERVAL=15
UPDATE=false
URL="http://10.0.10.236"

# 显示帮助信息
show_help() {
    echo "用法: $0 [选项]"
    echo ""
    echo "选项:"
    echo "  -m, --mode MODE        运行模式: once（单次）或 continuous（连续） (默认: once)"
    echo "  -i, --interval SECONDS 连续模式下的查询间隔（秒） (默认: 15)"
    echo "  -u, --update           强制更新所有目标信息"
    echo "  --url URL              服务器基础URL (默认: http://10.0.10.236)"
    echo "  -h, --help             显示此帮助信息"
    echo ""
    echo "示例:"
    echo "  $0                          # 单次运行"
    echo "  $0 --mode continuous        # 连续运行"
    echo "  $0 --mode continuous --interval 30 --update  # 连续运行，30秒间隔，强制更新"
}

# 解析命令行参数
while [[ $# -gt 0 ]]; do
    case $1 in
        -m|--mode)
            MODE="$2"
            shift 2
            ;;
        -i|--interval)
            INTERVAL="$2"
            shift 2
            ;;
        -u|--update)
            UPDATE=true
            shift
            ;;
        --url)
            URL="$2"
            shift 2
            ;;
        -h|--help)
            show_help
            exit 0
            ;;
        *)
            echo "未知选项: $1"
            show_help
            exit 1
            ;;
    esac
done

# 验证参数
if [[ "$MODE" != "once" && "$MODE" != "continuous" ]]; then
    echo "错误: 模式必须是 'once' 或 'continuous'"
    exit 1
fi

if ! [[ "$INTERVAL" =~ ^[0-9]+$ ]] || [ "$INTERVAL" -lt 1 ]; then
    echo "错误: 间隔必须是正整数"
    exit 1
fi

# 构建Python命令
PYTHON_CMD="python3 ot_download.py --mode $MODE --interval $INTERVAL --url $URL"

if [ "$UPDATE" = true ]; then
    PYTHON_CMD="$PYTHON_CMD --update"
fi

# 显示配置信息
echo "=== GWAC瞬变源样本集下载程序 ==="
echo "运行模式: $MODE"
echo "查询间隔: $INTERVAL 秒"
echo "强制更新: $UPDATE"
echo "服务器地址: $URL"
echo "=============================="
echo ""

# 运行程序
echo "启动下载程序..."
echo "按 Ctrl+C 停止程序"
echo ""

$PYTHON_CMD